package com.yuxi.search;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yuxi.pubInter.BaseSearch;
import com.yuxi.model.Banner;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import lombok.Data;
/**
*   @author sunke
*   @Date 2023-10-13 10:28:17
*   @description BannerSearch      广告图
*/


@Data
@ApiModel("广告图BannerSearch")
public abstract class BannerSearch<Sub extends BannerSearch<Sub>> extends BaseSearch {
    @ApiModelProperty(value = "主键")
    private List idIn;
    @ApiModelProperty(value = "大于排序")
    private Integer sortNumGreater;
    @ApiModelProperty(value = "小于排序")
    private Integer sortNumLess;
    @ApiModelProperty(value = "是否显示 1:是:Y,0:否:N")
    private List showFlagIn;
    @ApiModelProperty(value = "是否删除 1:删除:Y,0:正常:N")
    private Integer delFlagEq=0;
    @ApiModelProperty(value = "版本")
    private Integer versionEq;
    @ApiModelProperty(value = "标题")
    private String titleLike;
    @ApiModelProperty(value = "位置 1:首页顶部:index_top,2:首页底部:index_bottom,3:产品列表:product_list,4:产品详情:product_detail,5:代理产品列表:Brand_list,6:代理产品详情:Brand_detail,7:联系我们:link_us,8:关于我们:about")
    private List positionFlagIn;
    @ApiModelProperty(value = "广告图跳转链接")
    private String linkLike;
    @ApiModelProperty(value = "wap跳转链接")
    private String wapLinkLike;
    @ApiModelProperty(value = "备注说明")
    private String remarkLike;

    public BannerSearch() {
        setDelFlagEq(0);
    }



    /**
    * 返回子类Sub
    * @return
    */
    public abstract Sub getSubThis();

    @Override
    public String createTimeFiled() {
        return Banner.CREATE_TIME;
    }
    @Override
    public String updateTimeFiled() {
        return Banner.UPDATE_TIME;
    }
    @Override
    public String  setDefaultField() {
        return Banner.CREATE_TIME;
    }
    @Override
    public String pkField() {
        return Banner.ID;
    }

    @Override
    public String  toString() {
        return "BannerSearch{}"+super.toString();
    }
    public Sub setIdIn(List idIn){
        this.idIn = idIn;
        setInField(Banner.ID, idIn);
        return getSubThis();
    }
    public Sub setSortNumGreater(Integer sortNumGreater){
        this.sortNumGreater = sortNumGreater;
        setGreaterField(Banner.SORT_NUM, sortNumGreater);
        return getSubThis();
    }
    public Sub setSortNumLess(Integer sortNumLess){
        this.sortNumLess = sortNumLess;
        setLessField(Banner.SORT_NUM, sortNumLess);
        return getSubThis();
    }
    public Sub setShowFlagIn(List showFlagIn){
        this.showFlagIn = showFlagIn;
        setInField(Banner.SHOW_FLAG, showFlagIn);
        return getSubThis();
    }
    public Sub setDelFlagEq(Integer delFlagEq){
        this.delFlagEq = delFlagEq;
        setEqualField(Banner.DEL_FLAG, delFlagEq);
        return getSubThis();
    }
    public Sub setVersionEq(Integer versionEq){
        this.versionEq = versionEq;
        setEqualField(Banner.VERSION, versionEq);
        return getSubThis();
    }
    public Sub setTitleLike(String titleLike){
        this.titleLike = titleLike;
        setLikeField(Banner.TITLE, titleLike);
        return getSubThis();
    }
    public Sub setPositionFlagIn(List positionFlagIn){
        this.positionFlagIn = positionFlagIn;
        setInField(Banner.POSITION_FLAG, positionFlagIn);
        return getSubThis();
    }
    public Sub setLinkLike(String linkLike){
        this.linkLike = linkLike;
        setLikeField(Banner.LINK, linkLike);
        return getSubThis();
    }
    public Sub setWapLinkLike(String wapLinkLike){
        this.wapLinkLike = wapLinkLike;
        setLikeField(Banner.WAP_LINK, wapLinkLike);
        return getSubThis();
    }
    public Sub setRemarkLike(String remarkLike){
        this.remarkLike = remarkLike;
        setLikeField(Banner.REMARK, remarkLike);
        return getSubThis();
    }
}